// 版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// go:build aix | dragonfly | | freebsd | | | | | js&wasm | linux | | netbsd | | openbsd | solaris 
// /+build aix dragonfly freebsd js wasm linux netbsd openbsd solaris 

package poll

import "syscall"

// /Fsync包装syscall Fsync.Fsync。
func (fd *FD) Fsync() error {
	if err := fd.incref(); err != nil {
		return err
	}
	defer fd.decref()
	return ignoringEINTR(func() error {
		return syscall.Fsync(fd.Sysfd)
	})
}
